/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2021-2025. All rights reserved.
 *
 */

import { ComponentPath } from '@ohos/sdkmanager-common';

/**
 * Sdk中的工具的常用变量
 *
 * @since 2021/12/29
 */
export class ToolChainsConst {
  static readonly SIGN_TOOL: string = 'hapsigntoolv2.jar';
  static readonly NEW_SIGN_TOOL: string = 'hap-sign-tool.jar';
  static readonly SDK_SIGN_TOOL_FULL: string = 'sdk-sign-tool-full.jar';

  static readonly APP_PACKING_TOOL_JAR: string = 'app_packing_tool.jar';
  static readonly HMOS_APP_PACKING_TOOL_JAR: string = 'hmos_app_packing_tool.jar';
  static readonly HAP_TO_BIN_TOOL_JAR: string = 'haptobin_tool.jar';
  static readonly ROLL_UP_CONFIG_FILE: string = 'rollup.config.js';
}

export const SDK_COMPONENTS = [ComponentPath.TOOLCHAINS, ComponentPath.ETS, ComponentPath.JS, ComponentPath.NATIVE, ComponentPath.PREVIEWER];

export class ApiVersion {
  static readonly API_VERSION_16 = 16;
  static readonly API_VERSION_14 = 14;
  static readonly API_VERSION_12 = 12;
  static readonly API_VERSION_11 = 11;
  static readonly API_VERSION_10 = 10;
  static readonly API_VERSION_9 = 9;
  static readonly API_VERSION_8 = 8;
  static readonly DISTRO_FILTER_MIN_API_VERSION = 3;
  static readonly DISTRO_FILTER_MAX_API_VERSION = 30;
}

/**
 * ets组件常量类
 */
export class EtsComponentConst {
  static readonly ETS: string = 'ets';
  static readonly ETS1_1: string = 'dynamic';
  static readonly ETS1_2: string = 'static';

  static readonly API: string = 'api';
  static readonly KITS: string = 'kits';
  static readonly ARKTS: string = 'arkts';

  static readonly BUILD_TOOLS: string = 'build-tools';
  static readonly ETS_LOADER: string = 'ets-loader';
  static readonly FAST_BUILD: string = 'fast_build';
  static readonly ARK_COMPILER: string = 'ark_compiler';
  static readonly INTEROP: string = 'interop';
  static readonly DEVICE_DEFINE: string = 'device-define';

  static readonly LIB: string = 'lib';
  static readonly INDEX_JS: string = 'index.js';
  static readonly RUN_ES2ABC_STANDALONE_JS: string = 'run_es2abc_standalone.js';
  static readonly RUN_DECLGEN_STANDALONE_JS: string = 'run_declgen_standalone.js';

  static readonly UI_PLUGINS: string = 'ui-plugins';
  static readonly MEMO_PLUGINS: string = 'memo-plugins';
}
